Skip to content

upgrade hydrator 2.0#777

Open
DavidBadura wants to merge 1 commit into
4.0.xfrom
upgrade-hydrator-2.0
Open

upgrade hydrator 2.0#777
DavidBadura wants to merge 1 commit into
4.0.xfrom
upgrade-hydrator-2.0

Conversation

@DavidBadura

Copy link
Copy Markdown
Member

No description provided.

@github-actions

github-actions Bot commented Sep 9, 2025

Copy link
Copy Markdown

Hello 👋

here is the most recent benchmark result:

SplitStreamBench
================

+-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                         | time (kde mode)                                     | memory                                     |
+-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                 | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad10000Events () | 3.646ms (±0.00%)   | 3.302ms (±0.00%)   | +10.41%   | 35.771mb        | 36.288mb   | -1.43%      |
| benchSave10000Events () | 514.326ms (±0.00%) | 536.299ms (±0.00%) | -4.10%    | 35.906mb        | 35.904mb   | +0.01%      |
+-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

SimpleSetupStreamStoreBench
===========================

+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                                        | time (kde mode)                                     | memory                                     |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                                | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad1Event ()                     | 1.123ms (±0.00%)   | 1.152ms (±0.00%)   | -2.47%    | 35.143mb        | 35.141mb   | +0.01%      |
| benchLoad10000Events ()                | 74.973ms (±0.00%)  | 72.797ms (±0.00%)  | +2.99%    | 35.143mb        | 35.141mb   | +0.01%      |
| benchSave1Event ()                     | 1.341ms (±0.00%)   | 1.251ms (±0.00%)   | +7.21%    | 35.143mb        | 35.141mb   | +0.01%      |
| benchSave10000Events ()                | 300.185ms (±0.00%) | 300.089ms (±0.00%) | +0.03%    | 35.143mb        | 35.141mb   | +0.01%      |
| benchSave10000Aggregates ()            | 9.005s (±0.00%)    | 8.838s (±0.00%)    | +1.90%    | 35.143mb        | 35.141mb   | +0.01%      |
| benchSave10000AggregatesTransaction () | 5.658s (±0.00%)    | 5.698s (±0.00%)    | -0.71%    | 35.143mb        | 35.141mb   | +0.01%      |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

SubscriptionEngineBatchBench
============================

+---------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                           | time (kde mode)                                     | memory                                     |
+---------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                   | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+---------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchHandle10000Events () | 107.373ms (±0.00%) | 107.575ms (±0.00%) | -0.19%    | 35.723mb        | 35.720mb   | +0.01%      |
+---------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

NoopSubscriptionEngineBench
===========================

+---------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                           | time (kde mode)                                     | memory                                     |
+---------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                   | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+---------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchHandle10000Events () | 105.390ms (±0.00%) | 103.049ms (±0.00%) | +2.27%    | 48.298mb        | 48.296mb   | +0.00%      |
+---------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

SubscriptionEngineBench
=======================

+---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+
|                           | time (kde mode)                               | memory                                     |
+---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+
| subject                   | Tag: <current>  | Tag: base       | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+
| benchHandle10000Events () | 3.541s (±0.00%) | 3.570s (±0.00%) | -0.81%    | 48.298mb        | 48.296mb   | +0.00%      |
+---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+

CommandToQueryBench
===================

+----------------+------------------+------------------+-----------+-----------------+------------+-------------+
|                | time (kde mode)                                 | memory                                     |
+----------------+------------------+------------------+-----------+-----------------+------------+-------------+
| subject        | Tag: <current>   | Tag: base        | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------+------------------+------------------+-----------+-----------------+------------+-------------+
| benchCreate () | 3.150ms (±0.00%) | 3.146ms (±0.00%) | +0.13%    | 5.080mb         | 4.881mb    | +4.08%      |
| benchUpdate () | 4.320ms (±0.00%) | 4.445ms (±0.00%) | -2.81%    | 5.124mb         | 5.067mb    | +1.12%      |
| benchBoth ()   | 7.130ms (±0.00%) | 6.957ms (±0.00%) | +2.48%    | 5.756mb         | 5.072mb    | +13.47%     |
+----------------+------------------+------------------+-----------+-----------------+------------+-------------+

PersonalDataBench
=================

+----------------------------------------+------------------+--------------------+-----------+-----------------+------------+-------------+
|                                        | time (kde mode)                                   | memory                                     |
+----------------------------------------+------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                                | Tag: <current>   | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------------------------------+------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad1Event ()                     | 1.250ms (±0.00%) | 1.220ms (±0.00%)   | +2.49%    | 36.593mb        | 35.805mb   | +2.20%      |
| benchLoad10000Events ()                | 2.624s (±0.00%)  | 112.311ms (±0.00%) | +2236.51% | 36.593mb        | 35.805mb   | +2.20%      |
| benchSave1Event ()                     | 1.904ms (±0.00%) | 2.235ms (±0.00%)   | -14.79%   | 36.593mb        | 35.805mb   | +2.20%      |
| benchSave10000Events ()                | 2.883s (±0.00%)  | 325.256ms (±0.00%) | +786.31%  | 36.593mb        | 35.807mb   | +2.20%      |
| benchSave10000Aggregates ()            | 13.972s (±0.00%) | 13.607s (±0.00%)   | +2.68%    | 36.593mb        | 35.805mb   | +2.20%      |
| benchSave10000AggregatesTransaction () | 10.618s (±0.00%) | 10.288s (±0.00%)   | +3.21%    | 36.593mb        | 36.045mb   | +1.52%      |
+----------------------------------------+------------------+--------------------+-----------+-----------------+------------+-------------+

SnapshotsBench
==============

+----------------------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
|                                        | time (kde mode)                                   | memory                                     |
+----------------------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
| subject                                | Tag: <current>    | Tag: base         | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
| benchLoad10000EventsMissingSnapshot () | 72.569ms (±0.00%) | 73.969ms (±0.00%) | -1.89%    | 35.214mb        | 35.146mb   | +0.19%      |
| benchLoad10000Events ()                | 1.202ms (±0.00%)  | 1.416ms (±0.00%)  | -15.12%   | 35.214mb        | 35.145mb   | +0.19%      |
+----------------------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+

SimpleSetupTaggableStoreBench
=============================

+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                                        | time (kde mode)                                     | memory                                     |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                                | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad1Event ()                     | 1.250ms (±0.00%)   | 1.236ms (±0.00%)   | +1.07%    | 36.309mb        | 36.306mb   | +0.01%      |
| benchLoad10000Events ()                | 74.284ms (±0.00%)  | 79.219ms (±0.00%)  | -6.23%    | 36.309mb        | 36.306mb   | +0.01%      |
| benchSave1Event ()                     | 1.237ms (±0.00%)   | 1.269ms (±0.00%)   | -2.52%    | 36.309mb        | 36.306mb   | +0.01%      |
| benchSave10000Events ()                | 319.748ms (±0.00%) | 328.670ms (±0.00%) | -2.71%    | 36.309mb        | 36.306mb   | +0.01%      |
| benchSave10000Aggregates ()            | 8.901s (±0.00%)    | 8.997s (±0.00%)    | -1.06%    | 36.309mb        | 36.307mb   | +0.01%      |
| benchSave10000AggregatesTransaction () | 5.730s (±0.00%)    | 5.752s (±0.00%)    | -0.37%    | 36.309mb        | 36.307mb   | +0.01%      |
| benchAppend1Event ()                   | 1.544ms (±0.00%)   | 1.683ms (±0.00%)   | -8.27%    | 36.309mb        | 36.306mb   | +0.01%      |
| benchAppend100Events ()                | 7.738ms (±0.00%)   | 7.989ms (±0.00%)   | -3.14%    | 36.309mb        | 36.306mb   | +0.01%      |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

This comment gets update everytime a new commit comes in!

Comment thread docs/pages/index.md Outdated
Comment thread docs/pages/normalizer.md Outdated
Comment thread docs/pages/snapshots.md Outdated
@DanielBadura

Copy link
Copy Markdown
Member

This could also land in 3.x, no?

@DavidBadura DavidBadura force-pushed the upgrade-hydrator-2.0 branch 3 times, most recently from c8bf73c to 432a747 Compare November 28, 2025 20:46
@DavidBadura DavidBadura force-pushed the upgrade-hydrator-2.0 branch 5 times, most recently from 2b345c4 to b82ed3c Compare February 13, 2026 14:25
@DanielBadura

Copy link
Copy Markdown
Member

Ok, now this cannot land anymore in 3.x

@DavidBadura

Copy link
Copy Markdown
Member Author

I would first look at what the optimal version for 4.x would look like and then see if it can be implemented in 3.x.

@DavidBadura DavidBadura added this to the 4.0.0 milestone Feb 16, 2026
@DavidBadura DavidBadura marked this pull request as draft February 23, 2026 09:59
@DavidBadura DavidBadura force-pushed the upgrade-hydrator-2.0 branch 2 times, most recently from 73842e6 to d3ce7a5 Compare February 24, 2026 14:43
@DavidBadura DavidBadura self-assigned this Mar 24, 2026
@DavidBadura DavidBadura force-pushed the upgrade-hydrator-2.0 branch 3 times, most recently from 9a1ead6 to 8c81f2b Compare June 17, 2026 08:06
@DavidBadura DavidBadura force-pushed the upgrade-hydrator-2.0 branch from 8c81f2b to ece40e4 Compare June 17, 2026 08:12
@DavidBadura DavidBadura marked this pull request as ready for review June 17, 2026 18:56
@DavidBadura DavidBadura requested a review from DanielBadura June 17, 2026 18:56
Comment thread docs/sensitive-data.md
Comment on lines 222 to +223
#[Processor('delete_personal_data')]
final class DeletePersonalDataProcessor
final class DeleteSensitiveDataProcessor

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be consistent

Comment thread docs/upcasting.md

Renaming an event through an upcaster is no longer supported, because the event class is
already resolved from the stored event name before the payload is upcasted.
Use [event aliases](events.md#alias) instead.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renaming an event through an upcaster is no longer supported,

This phrasing is better suited in the upgrade docs. Here in the actual 4.x docs, we should not say that its is no longer supported. Instead we should hint the user how he could solve it and link to the right direction. So I think a note how to get rid of old event names form the store should be added, if we keep this section here: recreate the store (which even does not need any translator)

Comment thread docs/UPGRADE-4.0.md

:::danger
The key table layout changed (`crypto_keys` -> `cryptography_keys` with new columns).
Existing keys must be migrated, otherwise stored sensitive data can no longer be decrypted.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add a note how to migrate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants